package com.community.util;

import com.community.common.Const;
import com.community.common.ServerResponse;
import com.community.pojo.User;

import javax.servlet.http.HttpServletRequest;

/**
 * 权限检查公共类
 */
public class PermissionCheckUtil {
    /**
     * 主要用于投标人服务层，用户检查用户权限
     * @param request
     * @param userName
     * @return
     */
    public static ServerResponse<String> checkJurisdiction(HttpServletRequest request,String userName){
        //获取操作人
        Object o = request.getSession().getAttribute(Const.CURRENT_USER);
        if(null == o){
            return ServerResponse.createByErrorMessage(Const.Msg.USERNOLOGIN);
        }
        User user = (User)o;
        if(null == user){
            return ServerResponse.createByErrorMessage(Const.Msg.USERNOLOGIN);
        }
        //新增的用户名参数如果不是当前登陆用户则判断
        if(!userName.equals(user.getUsername())){
            //判断是否为管理员权限，如果不是管理员，则为错误访问
            if(null == user.getRole() || user.getRole() != Const.Role.ROLE_ADMIN){
                return ServerResponse.createByErrorMessage(Const.Msg.NOACCESS);
            }
        }
        return ServerResponse.createBySuccessMessage("");
    }
}
